#pragma once

#include "CMachine.h"
#include <map>
#include "../mysql/CMySqlOp.h"

class CMachineGroup
{
public:
    CMachineGroup();
    ~CMachineGroup();

private:
    //全部设备<id, 设备信息>
    std::map<unsigned int,CMachine*> machGroup;

    //错误信息
    std::string errMsg;
public:
    //从数据库加载机器信息
    bool LoadMachine(CMySQLOper *pMysql);
    //恢复上次关机时设备的数据
    bool RecoverMachineData(CMySQLOper *pMysql);
    //获取错误信息
    std::string GetErrMsg(void){ return errMsg;}
    //获取设备总数
    int GetMachineSize(void);
    //获取指定序列号的机器信息,下标从0开始
    CMachine* GetMachineByIndex(unsigned int index);
    //获取指定ID的机器信息
    CMachine* GetMachineByID(unsigned int id);


private:
    //清除所有数据
    void Clear();
};